 /**
 * @file tal_reset_factory.h
 * @brief Common process - reset factory new
 * @version 1.0.0
 * @date 2021-09-21
 *
 * @copyright Copyright 2018-2021 Tuya Inc. All Rights Reserved.
 *
 */
#ifndef __TAL_RESET_FACTORY_H__
#define __TAL_RESET_FACTORY_H__


#ifdef __cplusplus
    extern "C" {
#endif

#include "tuya_cloud_types.h"
#include "tuya_zigbee_stack.h"

/*
 *  reset to factory type
 */
typedef enum {
    TAL_RESET_FACTORY_ONLY = 0,     ///< reset to factory settings, not LEAVE
    TAL_RESET_FACTORY_AND_LEAVE,    ///< reset to factory settings, and LEAVE
} TAL_RESET_TYPE_T;


/**
 * @brief reset factory with leave enable
 *
 * @param[in]   enable: enable reset factory with leave
 * @return  none
 */
VOID_T tal_zg_reset_factory_with_leave_enable(BOOL_T enable);

/**
 * @brief reset factory default callback
 * @note < this is a weak function you can rewrite this API in app layer >
 *
 * @param[in]   type: reset factory type
 * @return  none
 */
VOID_T tal_zg_reset_factory_default_callback(TAL_RESET_TYPE_T type);


#ifdef __cplusplus
}
#endif

#endif

